package com.whpost.service.wx.entiy;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 报名信息实体类
 * </p>
 *
 * @author YinZhuoyi
 * @since 2025-09-14
 */
@Getter
@Setter
@TableName("WX_BAOMING")
@KeySequence("SEQ_WX_BAOMING")
public class WxBaoming implements Serializable {

    private static final long serialVersionUID = 1L;

    @ExcelIgnore  // 导入时忽略该列
    @TableId("ID")
    private Long id;

    @ExcelProperty("姓名")
    @TableField("XM")
    private String xm;

    @ExcelProperty("性别(1男2女)")
    @TableField("XB")
    private String xb;

    @ExcelProperty("身份证号码(加密)")
    @TableField("SFZHM")
    private String sfzhm;

    @ExcelProperty("身份证后8位(查询用)")
    @TableField("SFZH8W")
    private String sfzh8w;

    @ExcelProperty("手机号码(加密)")
    @TableField("SJHM")
    private String sjhm;

    @ExcelProperty("手机后6位(查询用)")
    @TableField("SJHH6W")
    private String sjhh6w;

    @ExcelProperty("电子邮箱")
    @TableField("DZYX")
    private String dzyx;

    @ExcelProperty("省市区信息")
    @TableField("T_REGION_ID")
    private Long tRegionId;

    @ExcelProperty("地址")
    @TableField("DZ")
    private String dz;

    @ExcelProperty("比赛类型")
    @TableField("BSLX_ID")
    private Long bslxId;

    @ExcelProperty("节目名称")
    @TableField("JMMC")
    private String jmmc;

    @ExcelProperty("节目时长")
    @TableField("JMSC")
    private Integer jmsc;

    @ExcelProperty("参赛人数")
    @TableField("CSRS")
    private Integer csrs;

    @ExcelProperty("团体名称")
    @TableField("TTMC")
    private String ttmc;

    @ExcelProperty("团体负责人信息")
    @TableField("TTFZR")
    private String ttfzr;

    @ExcelProperty("绑定网点")
    @TableField("BDWD")
    private Long bdwd;

    @ExcelProperty("是否持有卡(默认1)")
    @TableField("SFCYK")
    private String sfcyk;

    @ExcelProperty("是否接受规划(默认1)")
    @TableField("SFJSGH")
    private String sfjsgh;

    @ExcelProperty("健康告知")
    @TableField("JKGZ")
    private String jkgz;

    @ExcelProperty("紧急联系人")
    @TableField("JJLXR")
    private String jjlxr;

    @ExcelProperty("紧急联系人手机号码(加密)")
    @TableField("JJLXR_SJHM")
    private String jjlxrSjhm;

    @ExcelProperty("紧急联系人手机后6位(查询用)")
    @TableField("JJLXR_SJHH6W")
    private String jjlxrSjhh6w;

    @ExcelProperty("信息来源")
    @TableField("LYQD")
    private Long lyqd;

    @ExcelProperty("增加日期")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @TableField("ADD_RQ")
    private Date addRq;

    @ExcelProperty("会员信息流水号")
    @TableField("HYXX_LSH")
    private Long hyxxLsh;

    @ExcelProperty("节目类型(1个人2团体)")
    @TableField("JMLX")
    private String jmlx;

    @ExcelProperty("审核结果(0待审核1通过2不通过)")
    @TableField("SHJG")
    private String shjg;

    @ExcelProperty("审核意见")
    @TableField("SHYY")
    private String shyy;

    @ExcelIgnore  // 导入时忽略该列
    @TableField("SFQM")
    private String sfqm;

    @ExcelIgnore  // 导入时忽略该列
    @TableField("QM_ID")
    private Long qmId;
}
